闲扯
$min-max$ 容斥 $+$ 树上高斯消元 $+$ 子集和变换
大概是叫这个吧
题面
Solution
我们设 $E_i$ 表示到达点 $i$ 的期望时间。问题就是求:
显然可以用 $min-max$ 容斥来解决,即:
考虑怎么求 $\min_{i\in T}(E_i)$ 。
显然,我们可以列出方程:
若 $u\in S$ , $E_u=0$ 。
按照套路,我们将式子写成 $E_u=k\cdot E_{fa_u}+b$ 的形式,可以得到:
这个可以直接通过树形 $dp$ 求解。
由于 $root$ 没有父节点,所以 $f_{root}=b_{root}$ 。
然后就可以每次查询暴力容斥了。
但是这样比较危险,我们可以用子集和变换优化,每次查询只需要 $O(1)$ 即可。
Code
1 |
|